package algotithm.interview.shoppee.test2;

/**
 * @author zhouyanxiang
 * @Date 2021-03-2021/3/10-17:32

一个n行m列的二维矩阵中有黑白两种格子。

在第一行选定一个起点后，每一步操作只能选三个方向进行移动：向左移动一格、向右移动一格或向下移动一格。

求经过所有黑色的格子的最少步数。

其他
时间限制: 1000ms

内存限制: 256.0MB

输入输出描述
输入描述
第一行是一个整数t，代表接下来有t组输入，每组输入格式如下：

第一行是两个整数n，m（1 <= n ,m <= 10000），表示矩阵有n行和m列。

接下来有n行，每行的输入为：

k w1 w2 ... wk

k(0<=k<=m)表示这一行有k个黑色格子，后面是k个整数w1 w2 ... wk。wi（1<=wi<=m，wi<wi+1）表示黑色格子的位置。

黑色格子的总数小于100000个。

输出描述
输出t行，每行一个整数，代表经过所有黑色格子的最少步数。

备注
第一组样例输入的矩阵，经过所有黑色格子最少需要8步，图中箭头表示路径：


第二组样例输入的矩阵，经过所有黑色格子最少需要14步，图中箭头表示其中一种路径：




输入输出示例
示例1
输入
复制
2
4 5
0
1 2
1 5
2 3 4
4 5
2 3 4
3 2 4 5
2 3 5
2 1 4
输出
复制
8
14

 */
public class Main {
}
